package com.benshou.bsoa.dto.yida.req;

import lombok.Data;

/**
 * 封装宜搭表单数据搜索请求参数
 */
@Data
public class YiDaSearchReq {

    /**
     * 当前页码，从 1 开始
     */
    private Integer pageNumber;

    /**
     * 每页返回的数据条数，建议不超过 100
     */
    private Integer pageSize;

    /**
     * 表单 UUID（从宜搭管理后台获取）
     */
    private String formUuid;

    /**
     * 钉钉用户 ID（用于标识当前操作者）
     */
    private String userId;

    /**
     * 搜索条件（JSON 格式字符串）：
     * 例如：
     * [{"key":"currentNodeName","value":"审批中","type":"TEXT","operator":"like","componentName":"TextField"}]
     */
    private String searchCondition;

    /**
     * 排序规则（JSON 格式字符串）：
     * 例如：
     * {"gmt_create":"+","textField_1234":"-"} 表示按创建时间升序，文本字段降序
     */
    private String orderConfigJson;

    /**
     * 发起人 ID（可选，用于筛选发起人）
     */
    private String originatorId;

    /**
     * 创建时间起始（GMT格式，如："2024-01-01 00:00:00"）
     */
    private String createFromTimeGMT;

    /**
     * 创建时间结束（GMT格式）
     */
    private String createToTimeGMT;

    /**
     * 修改时间起始（GMT格式）
     */
    private String modifiedFromTimeGMT;

    /**
     * 修改时间结束（GMT格式）
     */
    private String modifiedToTimeGMT;

    public YiDaSearchReq(String userId, String formUuid) {
        this.userId = userId;
        this.formUuid = formUuid;
    }
    public YiDaSearchReq() {}
}
